/*
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 * All rights reserved.
 *
 * This source code is licensed under the license found in the
 * LICENSE file in the root directory of this source tree.
 */

import FBSDKGamingServicesKit
import Foundation
import UIKit

enum CustomUpdateContentObjects {

  static var validID = "12345"
  static var validMessage = "Hello"
  static var gifMedia = FacebookGIF(withUrl: URL(string: "www.test.com")!) // swiftlint:disable:this force_unwrapping
  static var invalidGifMedia = FacebookGIF(withUrl: URL(string: "")!) // swiftlint:disable:this force_unwrapping
  @available(iOS 13.0, *)
  static var validImage = UIImage(
    named: "customColorSilhouette",
    in: Bundle(for: CustomUpdateGraphAPIContentRemoteTests.self),
    with: nil
  )! // swiftlint:disable:this force_unwrapping

  @available(iOS 13.0, *)
  static let imageContentInvalidMessage = CustomUpdateContentImage(message: "", image: validImage)
  static let imageContentInvalidImage = CustomUpdateContentImage(message: validMessage, image: UIImage())
  @available(iOS 13.0, *)
  static let imageContentValid = CustomUpdateContentImage(message: validMessage, image: validImage)
  static let mediaContentInvalidMessage = CustomUpdateContentMedia(message: "", media: gifMedia)
  static let mediaContentInvalidMedia = CustomUpdateContentMedia(message: validMessage, media: invalidGifMedia)
  static let mediaContentValid = CustomUpdateContentMedia(message: validMessage, media: gifMedia)
}

enum CustomUpdateContentObjectsParameters {
  static let contextKEY = "context_token_id"
  static let textKey = "text"
  static let mediaKey = "media"
  static let imageKey = "image"

  static let contextValue = "12345"
  static let textValue = #"{"default":"Hello","localizations":{}}"#
  static let mediaValue = #"{"gif":{"url":"www.test.com"}}"#
  static let imageValue = "" // swiftlint:disable:this line_length
}
